-- SQL Server 2019
--! Data types
-- https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sqlallproducts-allversions
-- Exact numerics
bigint
bit
decimal
int
money
numeric
smallint
smallmoney
tinyint
-- Approximate numerics
float
real
-- Date and time
date
datetime
datetime2
datetimeoffset
smalldatetime
time
-- Character strings
char
text
varchar
-- Unicode character strings
nchar
ntext
nvarchar
-- Binary strings
binary
image
varbinary
-- Other data types
cursor
hierarchyid
rowversion
sql_variant
table
uniqueidentifier
xml
geometry
geography

-- https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sqlallproducts-allversions
--! keywords
-- SQL Server and Azure SQL Data Warehouse
ADD
ALL
ALTER
AND
ANY
AS
ASC
AUTHORIZATION
BACKUP
BEGIN
BETWEEN
BREAK
BROWSE
BULK
BY
CASCADE
CASE
CHECK
CHECKPOINT
CLOSE
CLUSTERED
COALESCE
COLLATE
COLUMN
COMMIT
COMPUTE
CONSTRAINT
CONTAINS
CONTAINSTABLE
CONTINUE
CONVERT
CREATE
CROSS
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DBCC
DEALLOCATE
DECLARE
DEFAULT
DELETE
DENY
DESC
DISK
DISTINCT
DISTRIBUTED
DOUBLE
DROP
DUMP
ELSE
END
ERRLVL
ESCAPE
EXCEPT
EXEC
EXECUTE
EXISTS
EXIT
EXTERNAL
FETCH
FILE
FILLFACTOR
FOR
FOREIGN
FREETEXT
FREETEXTTABLE
FROM
FULL
FUNCTION
GOTO
GRANT
GROUP
HAVING
HOLDLOCK
IDENTITY
IDENTITY_INSERT
IDENTITYCOL
IF
IN
INDEX
INNER
INSERT
INTERSECT
INTO
IS
JOIN
KEY
KILL
LEFT
LIKE
LINENO
LOAD
MERGE
NATIONAL
NOCHECK
NONCLUSTERED
NOT
NULL
NULLIF
OF
OFF
OFFSETS
ON
OPEN
OPENDATASOURCE
OPENQUERY
OPENROWSET
OPENXML
OPTION
OR
ORDER
OUTER
OVER
PERCENT
PIVOT
PLAN
PRECISION
PRIMARY
PRINT
PROC
PROCEDURE
PUBLIC
RAISERROR
READ
READTEXT
RECONFIGURE
REFERENCES
REPLICATION
RESTORE
RESTRICT
RETURN
REVERT
REVOKE
RIGHT
ROLLBACK
ROWCOUNT
ROWGUIDCOL
RULE
SAVE
SCHEMA
SECURITYAUDIT
SELECT
SEMANTICKEYPHRASETABLE
SEMANTICSIMILARITYDETAILSTABLE
SEMANTICSIMILARITYTABLE
SESSION_USER
SET
SETUSER
SHUTDOWN
SOME
STATISTICS
SYSTEM_USER
TABLE
TABLESAMPLE
TEXTSIZE
THEN
TO
TOP
TRAN
TRANSACTION
TRIGGER
TRUNCATE
TRY_CONVERT
TSEQUAL
UNION
UNIQUE
UNPIVOT
UPDATE
UPDATETEXT
USE
USER
VALUES
VARYING
VIEW
WAITFOR
WHEN
WHERE
WHILE
WITH
WITHIN GROUP
WRITETEXT

-- keywords that are exclusive to Azure SQL Data Warehouse
LABEL

-- ODBC Reserved Keywords
ABSOLUTE
ACTION
ADA
ADD
ALL
ALLOCATE
ALTER
AND
ANY
ARE
AS
ASC
ASSERTION
AT
AUTHORIZATION
AVG
BEGIN
BETWEEN
BIT
BIT_LENGTH
BOTH
BY
CASCADE
CASCADED
CASE
CAST
CATALOG
CHAR
CHAR_LENGTH
CHARACTER
CHARACTER_LENGTH
CHECK
CLOSE
COALESCE
COLLATE
COLLATION
COLUMN
COMMIT
CONNECT
CONNECTION
CONSTRAINT
CONSTRAINTS
CONTINUE
CONVERT
CORRESPONDING
COUNT
CREATE
CROSS
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATE
DAY
DEALLOCATE
DEC
DECIMAL
DECLARE
DEFAULT
DEFERRABLE
DEFERRED
DELETE
DESC
DESCRIBE
DESCRIPTOR
DIAGNOSTICS
DISCONNECT
DISTINCT
DOMAIN
DOUBLE
DROP
ELSE
END
END-EXEC
ESCAPE
EXCEPT
EXCEPTION
EXEC
EXECUTE
EXISTS
EXTERNAL
EXTRACT
FALSE
FETCH
FIRST
FLOAT
FOR
FOREIGN
FORTRAN
FOUND
FROM
FULL
GET
GLOBAL
GO
GOTO
GRANT
GROUP
HAVING
HOUR
IDENTITY
IMMEDIATE
IN
INCLUDE
INDEX
INDICATOR
INITIALLY
INNER
INPUT
INSENSITIVE
INSERT
INT
INTEGER
INTERSECT
INTERVAL
INTO
IS
ISOLATION
JOIN
KEY
LANGUAGE
LAST
LEADING
LEFT
LEVEL
LIKE
LOCAL
LOWER
MATCH
MAX
MIN
MINUTE
MODULE
MONTH
NAMES
NATIONAL
NATURAL
NCHAR
NEXT
NO
NONE
NOT
NULL
NULLIF
NUMERIC
OCTET_LENGTH
OF
ON
ONLY
OPEN
OPTION
OR
ORDER
OUTER
OUTPUT
OVERLAPS
PAD
PARTIAL
PASCAL
POSITION
PRECISION
PREPARE
PRESERVE
PRIMARY
PRIOR
PRIVILEGES
PROCEDURE
PUBLIC
READ
REAL
REFERENCES
RELATIVE
RESTRICT
REVOKE
RIGHT
ROLLBACK
ROWS
SCHEMA
SCROLL
SECOND
SECTION
SELECT
SESSION
SESSION_USER
SET
SIZE
SMALLINT
SOME
SPACE
SQL
SQLCA
SQLCODE
SQLERROR
SQLSTATE
SQLWARNING
SUBSTRING
SUM
SYSTEM_USER
TABLE
TEMPORARY
THEN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINUTE
TO
TRAILING
TRANSACTION
TRANSLATE
TRANSLATION
TRIM
TRUE
UNION
UNIQUE
UNKNOWN
UPDATE
UPPER
USAGE
USER
USING
VALUE
VALUES
VARCHAR
VARYING
VIEW
WHEN
WHENEVER
WHERE
WITH
WORK
WRITE
YEAR
ZONE

-- Future Keywords
ABSOLUTE
ACTION
ADMIN
AFTER
AGGREGATE
ALIAS
ALLOCATE
ARE
ARRAY
ASENSITIVE
ASSERTION
ASYMMETRIC
AT
ATOMIC
BEFORE
BINARY
BIT
BLOB
BOOLEAN
BOTH
BREADTH
CALL
CALLED
CARDINALITY
CASCADED
CAST
CATALOG
CHAR
CHARACTER
CLASS
CLOB
COLLATION
COLLECT
COMPLETION
CONDITION
CONNECT
CONNECTION
CONSTRAINTS
CONSTRUCTOR
CORR
CORRESPONDING
COVAR_POP
COVAR_SAMP
CUBE
CUME_DIST
CURRENT_CATALOG
CURRENT_DEFAULT_TRANSFORM_GROUP
CURRENT_PATH
CURRENT_ROLE
CURRENT_SCHEMA
CURRENT_TRANSFORM_GROUP_FOR_TYPE
CYCLE
DATA
DATE
DAY
DEC
DECIMAL
DEFERRABLE
DEFERRED
DEPTH
DEREF
DESCRIBE
DESCRIPTOR
DESTROY
DESTRUCTOR
DETERMINISTIC
DIAGNOSTICS
DICTIONARY
DISCONNECT
DOMAIN
DYNAMIC
EACH
ELEMENT
END-EXEC
EQUALS
EVERY
EXCEPTION
FALSE
FILTER
FIRST
FLOAT
FOUND
FREE
FULLTEXTTABLE
FUSION
GENERAL
GET
GLOBAL
GO
GROUPING
HOLD
HOST
HOUR
IGNORE
IMMEDIATE
INDICATOR
INITIALIZE
INITIALLY
INOUT
INPUT
INT
INTEGER
INTERSECTION
INTERVAL
ISOLATION
ITERATE
LANGUAGE
LARGE
LAST
LATERAL
LEADING
LESS
LEVEL
LIKE_REGEX
LIMIT
LN
LOCAL
LOCALTIME
LOCALTIMESTAMP
LOCATOR
MAP
MATCH
MEMBER
METHOD
MINUTE
MOD
MODIFIES
MODIFY
MODULE
MONTH
MULTISET
NAMES
NATURAL
NCHAR
NCLOB
NEW
NEXT
NO
NONE
NORMALIZE
NUMERIC
OBJECT
OCCURRENCES_REGEX
OLD
ONLY
OPERATION
ORDINALITY
OUT
OUTPUT
OVERLAY
PAD
PARAMETER
PARAMETERS
PARTIAL
PARTITION
PATH
PERCENT_RANK
PERCENTILE_CONT
PERCENTILE_DISC
POSITION_REGEX
POSTFIX
PREFIX
PREORDER
PREPARE
PRESERVE
PRIOR
PRIVILEGES
RANGE
READS
REAL
RECURSIVE
REF
REFERENCING
REGR_AVGX
REGR_AVGY
REGR_COUNT
REGR_INTERCEPT
REGR_R2
REGR_SLOPE
REGR_SXX
REGR_SXY
REGR_SYY
RELATIVE
RELEASE
RESULT
RETURNS
ROLE
ROLLUP
ROUTINE
ROW
ROWS
SAVEPOINT
SCOPE
SCROLL
SEARCH
SECOND
SECTION
SENSITIVE
SEQUENCE
SESSION
SETS
SIMILAR
SIZE
SMALLINT
SPACE
SPECIFIC
SPECIFICTYPE
SQL
SQLEXCEPTION
SQLSTATE
SQLWARNING
START
STATE
STATEMENT
STATIC
STDDEV_POP
STDDEV_SAMP
STRUCTURE
SUBMULTISET
SUBSTRING_REGEX
SYMMETRIC
SYSTEM
TEMPORARY
TERMINATE
THAN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINUTE
TRAILING
TRANSLATE_REGEX
TRANSLATION
TREAT
TRUE
UESCAPE
UNDER
UNKNOWN
UNNEST
USAGE
USING
VALUE
VAR_POP
VAR_SAMP
VARCHAR
VARIABLE
WHENEVER
WIDTH_BUCKET
WINDOW
WITHIN
WITHOUT
WORK
WRITE
XMLAGG
XMLATTRIBUTES
XMLBINARY
XMLCAST
XMLCOMMENT
XMLCONCAT
XMLDOCUMENT
XMLELEMENT
XMLEXISTS
XMLFOREST
XMLITERATE
XMLNAMESPACES
XMLPARSE
XMLPI
XMLQUERY
XMLSERIALIZE
XMLTABLE
XMLTEXT
XMLVALIDATE
YEAR
ZONE

-- Statements
-- General
	ADD SENSITIVITY CLASSIFICATION
	BULK INSERT
	DELETE
	DISABLE TRIGGER
	ENABLE TRIGGER
	INSERT
	UPDATE
	MERGE
	RENAME
	TRUNCATE TABLE
	UPDATE STATISTICS
ALTER
	APPLICATION ROLE
	ASSEMBLY
	ASYMMETRIC KEY
	AUTHORIZATION
	AVAILABILITY GROUP
	BROKER PRIORITY
	CERTIFICATE
	COLUMN ENCRYPTION KEY
	CREDENTIAL
	CRYPTOGRAPHIC PROVIDER
	DATABASE
	DATABASE AUDIT SPECIFICATION
	DATABASE ENCRYPTION KEY
	DATABASE HADR
	DATABASE SCOPED CREDENTIAL
	DATABASE SCOPED CONFIGURATION
	DATABASE SET Options
	ENDPOINT
	EVENT SESSION
	EXTERNAL DATA SOURCE
	EXTERNAL LANGUAGE
	EXTERNAL LIBRARY
	EXTERNAL RESOURCE POOL
	FULLTEXT CATALOG
	FULLTEXT INDEX
	FULLTEXT STOPLIST
	FUNCTION
	INDEX
	LOGIN
	MASTER KEY
	MATERIALIZED VIEW
	MESSAGE TYPE
	PARTITION FUNCTION
	PARTITION SCHEME
	PROCEDURE
	QUEUE
	REMOTE SERVICE BINDING
	RESOURCE GOVERNOR
	RESOURCE POOL
	ROLE
	ROUTE
	SCHEMA
	SEARCH PROPERTY LIST
	SECURITY POLICY
	SEQUENCE
	SERVER AUDIT
	SERVER AUDIT SPECIFICATION
	SERVER CONFIGURATION
	SERVER ROLE
	SERVICE
	SERVICE MASTER KEY
	SYMMETRIC KEY
	TABLE
	TRIGGER
	USER
	VIEW
	WORKLOAD GROUP
	XML SCHEMA COLLECTION
-- Backup & restore
	BACKUP
	BACKUP CERTIFICATE
	BACKUP MASTER KEY
	BACKUP SERVICE MASTER KEY
	RESTORE
	RESTORE FILELISTONLY
	RESTORE HEADERONLY
	RESTORE LABELONLY
	RESTORE MASTER KEY
	RESTORE SERVICE MASTER KEY
	RESTORE REWINDONLY
	RESTORE VERIFYONLY
CREATE
	AGGREGATE
	APPLICATION ROLE
	ASSEMBLY
	ASYMMETRIC KEY
	AVAILABILITY GROUP
	BROKER PRIORITY
	CERTIFICATE
	COLUMNSTORE INDEX
	COLUMN ENCRYPTION KEY
	COLUMN MASTER KEY
	CONTRACT
	CREDENTIAL
	CRYPTOGRAPHIC PROVIDER
	DATABASE
	DATABASE AUDIT SPECIFICATION
	DATABASE ENCRYPTION KEY
	DATABASE SCOPED CREDENTIAL
	DEFAULT
	ENDPOINT
	EVENT NOTIFICATION
	EVENT SESSION
	EXTERNAL DATA SOURCE
	EXTERNAL LANGUAGE
	EXTERNAL LIBRARY
	EXTERNAL FILE FORMAT
	EXTERNAL RESOURCE POOL
	EXTERNAL TABLE
	FULLTEXT CATALOG
	FULLTEXT INDEX
	FULLTEXT STOPLIST
	FUNCTION
	INDEX
	LOGIN
	MASTER KEY
	MESSAGE TYPE
	PARTITION FUNCTION
	PARTITION SCHEME
	PROCEDURE
	QUEUE
	REMOTE SERVICE BINDING
	RESOURCE POOL
	ROLE
	ROUTE
	RULE
	SCHEMA
	SEARCH PROPERTY LIST
	SECURITY POLICY
	SELECTIVE XML INDEX
	SEQUENCE
	SERVER AUDIT
	SERVER AUDIT SPECIFICATION
	SERVER ROLE
	SERVICE
	SPATIAL INDEX
	STATISTICS
	SYMMETRIC KEY
	SYNONYM
	TABLE
	TABLE IDENTITY
	TRIGGER
	TYPE
	USER
	VIEW
	WORKLOAD GROUP
	XML INDEX
	XML INDEX
	XML SCHEMA COLLECTION
DROP
	AGGREGATE
	APPLICATION ROLE
	ASSEMBLY
	ASYMMETRIC KEY
	AVAILABILITY GROUP
	BROKER PRIORITY
	CERTIFICATE
	COLUMN ENCRYPTION KEY
	COLUMN MASTER KEY
	CONTRACT
	CREDENTIAL
	CRYPTOGRAPHIC PROVIDER
	DATABASE
	DATABASE AUDIT SPECIFICATION
	DATABASE ENCRYPTION KEY
	DATABASE SCOPED CREDENTIAL
	DEFAULT
	ENDPOINT
	EXTERNAL DATA SOURCE
	EXTERNAL FILE FORMAT
	EXTERNAL LANGUAGE
	EXTERNAL LIBRARY
	EXTERNAL RESOURCE POOL
	EXTERNAL TABLE
	EVENT NOTIFICATION
	EVENT SESSION
	FULLTEXT CATALOG
	FULLTEXT INDEX
	FULLTEXT STOPLIST
	FUNCTION
	INDEX
	LOGIN
	MASTER KEY
	MESSAGE TYPE
	PARTITION FUNCTION
	PARTITION SCHEME
	PROCEDURE
	QUEUE
	REMOTE SERVICE BINDING
	RESOURCE POOL
	ROLE
	ROUTE
	RULE
	SCHEMA
	SEARCH PROPERTY LIST
	SECURITY POLICY
	SENSITIVITY CLASSIFICATION
	SEQUENCE
	SERVER AUDIT
	SERVER AUDIT SPECIFICATION
	SERVER ROLE
	SERVICE
	SIGNATURE
	STATISTICS
	SYMMETRIC KEY
	SYNONYM
	TABLE
	TRIGGER
	TYPE
	USER
	VIEW
	WORKLOAD CLASSIFIER
	WORKLOAD GROUP
	XML SCHEMA COLLECTION
-- Permissions
	ADD SIGNATURE
	CLOSE MASTER KEY
	CLOSE SYMMETRIC KEY
	DENY
	EXECUTE AS
	GRANT
	OPEN MASTER KEY
	OPEN SYMMETRIC KEY
	REVERT
	REVOKE
	SETUSER
-- Service Broker
	BEGIN CONVERSATION TIMER
	BEGIN DIALOG CONVERSATION
	END CONVERSATION
	GET CONVERSATION GROUP
	GET_TRANSMISSION_STATUS
	MOVE CONVERSATION
	RECEIVE
	SEND
SET
	ANSI_DEFAULTS
	ANSI_NULL_DFLT_OFF
	ANSI_NULL_DFLT_ON
	ANSI_NULLS
	ANSI_PADDING
	ANSI_WARNINGS
	ARITHABORT
	ARITHIGNORE
	CONCAT_NULL_YIELDS_NULL
	CONTEXT_INFO
	CURSOR_CLOSE_ON_COMMIT
	DATEFIRST
	DATEFORMAT
	DEADLOCK_PRIORITY
	FIPS_FLAGGER
	FMTONLY
	FORCEPLAN
	IDENTITY_INSERT
	IMPLICIT_TRANSACTIONS
	LANGUAGE
	LOCK_TIMEOUT
	NOCOUNT
	NOEXEC
	NUMERIC_ROUNDABORT
	OFFSETS
	PARSEONLY
	QUERY_GOVERNOR_COST_LIMIT
	QUOTED_IDENTIFIER
	REMOTE_PROC_TRANSACTIONS
	RESULT SET CACHING
	ROWCOUNT
	SHOWPLAN_ALL
	SHOWPLAN_TEXT
	SHOWPLAN_XML
	STATISTICS IO
	STATISTICS PROFILE
	STATISTICS TIME
	STATISTICS XML
	TEXTSIZE
	TRANSACTION ISOLATION LEVEL
	XACT_ABORT
